home *** CD-ROM | disk | FTP | other *** search
/ Precision Software Appli…tions Silver Collection 1 / Precision Software Applications Silver Collection Volume One (PSM) (1993).iso / tutor / french.exe / TEACHER.BAS < prev    next >
BASIC Source File  |  1988-04-26  |  27KB  |  351 lines

  1. 10 'Version 1.1
  2. 15 REM $DYNAMIC
  3. 20 KEY OFF:CLS:SCREEN 0,0,0:WIDTH 80:LOCATE 1,1,0:FOR I=1 TO 10:KEY I,"":NEXT:DEF SEG:POKE 106,0
  4. 22 ON ERROR GOTO 25:PLAY "":ON ERROR GOTO 0:GOTO 30
  5. 25 LOCATE 10,9:PRINT">>>>>> You must load BASICA in order to use FRENCH TEACHER #2 <<<<<<":LOCATE 23:END
  6. 30 LOCATE 3,9:PRINT STRING$(64,223):FOR I=3 TO 21:LOCATE I,8:PRINT CHR$(219):LOCATE I,73:PRINT CHR$(219):NEXT:LOCATE 21,9:PRINT STRING$(64,220)
  7. 40 LOCATE 7,30:PRINT"Micro Tutor Products":LOCATE 9,36:PRINT"presents":LOCATE 11,29:PRINT"***********************":LOCATE 12,29:PRINT"* ";:COLOR 0,7:PRINT" FRENCH TEACHER #2 ";:COLOR 7,0:PRINT" *":LOCATE 13,29:PRINT"***********************"
  8. 50 LOCATE 15,34:PRINT"(c) 1982 by":LOCATE 17,27:PRINT" Cindy & Andrew Bartorillo":DEFINT A-Z:S=120:DIM Z1(S),Z2(S),Z1$(S),Z2$(100),R1$(100),R2$(100),R3$(100),R4$(100),E(6,5)
  9. 60 U1$="##":U2$="\                  \":U7$="\                                      \":L$="Line printer is not available!":S1$="French to English":S2$="English to French"
  10. 70 RANDOMIZE(VAL(RIGHT$(TIME$,2))):S1=0:T9=0:COLOR 0,7:LOCATE 24,20:PRINT" Hit any key when ready for program menu. ";:COLOR 7,0:GOSUB 3110
  11. 80 IF INKEY$="" THEN 80
  12. 90 CLS:T=0:Y=0:TM=15:TM$="00:00:10":COLOR 0,7:LOCATE 1,25:PRINT" FRENCH TEACHER #2--Version 1.1 ":COLOR 7,0:PRINT STRING$(79,"-"):LOCATE 4,15:PRINT"These options are available:":LOCATE 6,25:PRINT"<A> Noun Vocabulary Drill"
  13. 100 PRINT TAB(25)"<B> Verb Vocabulary Drill":PRINT TAB(25)"<C> Miscellaneous Word Vocabulary Drill":PRINT TAB(25)"<D> Random Selection Vocabulary Drill":PRINT TAB(25)"<E> Verb Conjugation Drill"
  14. 110 PRINT TAB(25)"<F> Retest Missed Vocabulary":PRINT TAB(25)"<G> Diagnostic Results":PRINT TAB(25)"<H> Print Noun Vocabulary Test":PRINT TAB(25)"<I> Print Verb Vocabulary Test":PRINT TAB(25)"<J> Print Miscellaneous Word Vocabulary Test"
  15. 120 PRINT TAB(25)"<K> Print Random Selection Vocabulary Test":PRINT TAB(25)"<L> Print Verb Conjugation Test":LOCATE 21,1:PRINT STRING$(79,"-")
  16. 130 LOCATE 23,1:PRINT SPC(70):COLOR 0,7:LOCATE 23,34:PRINT" ENTER CHOICE ":COLOR 7,0:GOSUB 3110
  17. 140 Z$=INKEY$:IF Z$="" THEN 140 ELSE IF ASC(Z$)>90 THEN Z$=CHR$(ASC(Z$)-32)
  18. 150 S=ASC(Z$)-64
  19. 155 IF S>4 THEN S=S+1
  20. 156 IF S>12 THEN S=S+1
  21. 157 IF S<1 OR S>14 THEN 140
  22. 160 IF S>8 THEN S=S-8:S$="Y":ON ERROR GOTO 3120:LPRINT:ON ERROR GOTO 0:T=1
  23. 170 IF S<7 THEN S1=S
  24. 180 IF S1=6 AND S=7 THEN 140
  25. 190 IF S=7 THEN GOSUB 1550:IF P5=0 AND P6=0 THEN 1600 ELSE 380
  26. 200 IF S<>8 THEN T9=0
  27. 210 CLS:B=0:D=0:ON S GOTO 220,220,220,220,220,220,220,1980
  28. 220 P5=0:P6=0:P8=0:P9=0:P=0:P1=0:M=0:T1=0:T2=0:IF S=6 THEN FOR I=1 TO 6:FOR H=1 TO 5:E(I,H)=0:NEXT H,I
  29. 230 ERASE Z1$,Z2$,R1$,R2$,R3$,R4$:DIM Z1$(120),Z2$(100),R1$(100),R2$(100),R3$(100),R4$(100)
  30. 240 IF S=4 THEN GOSUB 1620
  31. 250 IF S=6 THEN GOSUB 2540:TM=25:TM$="00:00:20"
  32. 260 IF S=1 THEN GOSUB 1660
  33. 270 IF S=2 THEN X$="*":GOSUB 1710
  34. 280 IF S=3 THEN X$="/":GOSUB 1710
  35. 290 IF S=5 THEN GOSUB 1760
  36. 300 CLS:IF S<>6 THEN FOR I=1 TO 120:Z1(I)=0:Z2(I)=0:NEXT
  37. 310 P8=P:P9=P:IF S=6 THEN P8=P/5:P9=P8
  38. 320 IF T=1 OR T1>0 THEN 370
  39. 330 CLS:LOCATE 12,15:PRINT"Do you want a multiple choice type quiz (Y/N/X=Escape)?":GOSUB 3110
  40. 340 S$=INKEY$:IF S$="" THEN 340 ELSE IF ASC(S$)>90 THEN S$=CHR$(ASC(S$)-32)
  41. 350 IF S$="X" THEN 90
  42. 360 IF S$<>"Y" AND S$<>"N" THEN 340
  43. 370 IF S=6 THEN 480
  44. 380 IF S=6 THEN 90 ELSE CLS:LOCATE 12,6:PRINT"Do you want ";S2$;" or ";S1$;" (E/F/X=Escape)?":GOSUB 3110
  45. 390 X$=INKEY$:IF X$="" THEN 390 ELSE IF ASC(X$)>90 THEN X$=CHR$(ASC(X$)-32)
  46. 400 IF S=5 THEN T9=1
  47. 410 IF X$="E" THEN D=2:IF P9=0 AND S<>7 THEN LOCATE 20,15:PRINT"You have no ";S2$;" selections available.":FOR B=1 TO 4999:NEXT:GOTO 380
  48. 420 IF X$="E" THEN D=2:IF P3=0 AND S=7 THEN LOCATE 20,11:PRINT"You have no ";S2$;" selections to be retested on.":FOR B=1 TO 4999:NEXT:GOTO 380 ELSE 480
  49. 430 IF X$="F" THEN D=1:IF P8=0 AND S<>7 THEN LOCATE 20,15:PRINT"You have no ";S1$;" selections available.":FOR B=1 TO 4999:NEXT:GOTO 380
  50. 440 IF X$="F" THEN D=1:IF P4=0 AND S=7 THEN LOCATE 20,11:PRINT"You have no ";S1$;" selections to be retested on.":FOR B=1 TO 4999:NEXT:GOTO 380 ELSE 480
  51. 450 IF X$="X" AND S<>7 THEN S1=S
  52. 460 IF X$="X" THEN 90
  53. 470 GOTO 390
  54. 480 CLS
  55. 490 IF S=1 THEN PRINT STRING$(24,175);" ";:COLOR 0,7:PRINT" NOUN VOCABULARY DRILL OPTION ";:COLOR 7,0:PRINT" ";STRING$(24,174)
  56. 500 IF S=2 THEN PRINT STRING$(24,175);" ";:COLOR 0,7:PRINT" VERB VOCABULARY DRILL OPTION ";:COLOR 7,0:PRINT" ";STRING$(24,174)
  57. 510 IF S=3 THEN PRINT STRING$(17,175);" ";:COLOR 0,7:PRINT" MISCELLANEOUS WORD VOCABULARY DRILL OPTION ";:COLOR 7,0:PRINT" ";STRING$(17,174)
  58. 520 IF S=4 THEN PRINT STRING$(16,175);" ";:COLOR 0,7:PRINT" RANDOM SELECTION WORD VOCABULARY DRILL OPTION ";:COLOR 7,0:PRINT" ";STRING$(15,174)
  59. 530 IF S=5 THEN PRINT STRING$(23,175);" ";:COLOR 0,7:PRINT" PHRASE TRANSLATION DRILL OPTION ";:COLOR 7,0:PRINT" ";STRING$(22,174)
  60. 540 IF S=6 THEN PRINT STRING$(24,175);" ";:COLOR 0,7:PRINT" VERB CONJUGATION DRILL OPTION ";:COLOR 7,0:PRINT" ";STRING$(23,174)
  61. 550 IF S=7 THEN PRINT STRING$(32,175);" ";:COLOR 0,7:PRINT" RETEST OPTION ";:COLOR 7,0:PRINT" ";STRING$(31,174)
  62. 560 LOCATE 3,1:PRINT STRING$(80,"-"):LOCATE 17,1:PRINT STRING$(80,"-")
  63. 570 IF T=1 THEN 600
  64. 580 IF S<>7 THEN LOCATE 16,4:PRINT"Total quizzed ="T1:LOCATE 16,25:PRINT"Total correct ="T2:LOCATE 16,46:PRINT"Correct answer percentage = ";:IF P1=100 THEN PRINT "100%" ELSE PRINT USING U1$;P1;:PRINT"%"
  65. 590 '
  66. 600 IF S=6 THEN 2600
  67. 610 FOR I=1 TO 4:A$(I)="":NEXT
  68. 620 X=INT(RND(1)*P)+1:K=INT(RND(1)*4)+1:IF S=7 AND D=1 THEN X1=INT(RND(1)*P6)+1 ELSE IF S=7 AND D=2 THEN X1=INT(RND(1)*P5)+1
  69. 630 LOCATE 2,2:PRINT"*":FOR DE=1 TO 199:NEXT:LOCATE 2,2:PRINT" "
  70. 640 BR$=INKEY$:IF BR$="" THEN 650 ELSE IF BR$="x" OR BR$="X" THEN 380
  71. 650 IF S=7 THEN 1800
  72. 660 IF (D=2 AND Z1(X)<>0) OR (D=1 AND Z2(X)<>0) THEN 620
  73. 670 IF D=1 THEN A$(K)=Z1$(X) ELSE A$(K)=MID$(Z2$(X),2)
  74. 680 IF S$="N" THEN 740
  75. 690 IF K=1 THEN I=2:GOSUB 1220:I=3:GOSUB 1220:I=4:GOSUB 1220
  76. 700 IF K=2 THEN I=1:GOSUB 1220:I=3:GOSUB 1220:I=4:GOSUB 1220
  77. 710 IF K=3 THEN I=1:GOSUB 1220:I=2:GOSUB 1220:I=4:GOSUB 1220
  78. 720 IF K=4 THEN I=1:GOSUB 1220:I=2:GOSUB 1220:I=3:GOSUB 1220
  79. 730 IF A$(1)=A$(2) OR A$(1)=A$(3) OR A$(1)=A$(4) OR A$(2)=A$(3) OR A$(2)=A$(4) OR A$(3)=A$(4) THEN 620
  80. 740 GOSUB 1480
  81. 750 IF D=2 AND S=5 THEN LOCATE 5,20:PRINT USING U7$;Z1$(X) ELSE IF D=1 AND S=5 THEN LOCATE 5,20:PRINT USING U7$;MID$(Z2$(X),2)
  82. 760 IF D=2 AND S=7 AND T9=1 THEN LOCATE 5,20:PRINT USING U7$;R1$(X1) ELSE IF D=1 AND S=7 AND T9=1 THEN LOCATE 5,20:PRINT USING U7$;MID$(R4$(X1),2)
  83. 770 IF S=4 AND D=2 THEN GOSUB 1460 ELSE IF S=7 AND D=2 AND T9<>1 THEN GOSUB 1830
  84. 780 IF S$="N" THEN 840 ELSE FOR N=1 TO 4:LOCATE 5+N*2,29:PRINT"<";MID$(STR$(N),2);"> ";
  85. 790 IF (T9<>1 OR (S<>5 AND S<>7)) AND (LEFT$(A$(N),4)="las " OR LEFT$(A$(N),4)="les ") THEN PRINT USING U2$;MID$(A$(N),5):GOTO 800
  86. 792 IF (T9<>1 OR (S<>5 AND S<>7)) AND (LEFT$(A$(N),3)="la " OR LEFT$(A$(N),3)="le ") THEN PRINT USING U2$;MID$(A$(N),4):GOTO 800
  87. 794 IF (T9<>1 OR (S<>5 AND S<>7)) AND LEFT$(A$(N),2)="l'" THEN PRINT USING U2$;MID$(A$(N),3):GOTO 800
  88. 796 IF (S<>5 AND S<>7) OR T9<>1 OR S=6 THEN PRINT USING U2$;A$(N)
  89. 800 IF S=5 OR T9=1 THEN PRINT USING U7$;A$(N)
  90. 810 NEXT
  91. 820 IF T=1 THEN 1240
  92. 830 FOR N=1 TO 4:C$(N)=A$(N):NEXT
  93. 840 GOSUB 3110:GOSUB 3140
  94. 842 IF (S$="N" AND D=2) OR (S$="N" AND S=6) THEN LOCATE 25,1:PRINT"F1="CHR$(133)"  F2="CHR$(131)"  F3="CHR$(160)"  F4="CHR$(138)"  F5="CHR$(136);
  95. 844 IF (S$="N" AND D=2) OR (S$="N" AND S=6) THEN PRINT"  F6="CHR$(130)"  F7="CHR$(140)"  F8="CHR$(147)"  F9="CHR$(151)"  F10="CHR$(150)"  "CHR$(24)"="CHR$(139)"  "CHR$(25)"="CHR$(135);
  96. 850 IF S$="N" THEN GOSUB 2980:C$(C)=ANSWER$:IF C$(C)="x" OR C$(C)="X" THEN 380 ELSE 950
  97. 860 C=0:LOCATE 19,25:PRINT"Enter your choice (1-4/X=Escape)";
  98. 870 TIME$="00:00:00"
  99. 880 C$=INKEY$:IF TM-VAL(RIGHT$(TIME$,2))<0 THEN TIME$=TM$
  100. 885 DEF SEG=&H40:POKE &H17,160
  101. 890 LOCATE 18,64:PRINT USING U1$;TM-VAL(RIGHT$(TIME$,2));:PRINT" seconds left"
  102. 900 IF RIGHT$(TIME$,2)=MID$(STR$(TM),2) THEN LOCATE 18,64:COLOR 23,0:PRINT"TIME EXPIRED   ":COLOR 7,0:GOTO 950
  103. 910 IF C$<>"" THEN 930
  104. 920 GOTO 880
  105. 930 IF C$="x" OR C$="X" THEN 380
  106. 940 IF C$<"1" OR C$>"4" THEN 880 ELSE LOCATE 19,58:PRINT C$:C=VAL(C$)
  107. 950 IF S=7 THEN 1850
  108. 960 T1=T1+1:COLOR 0,7:IF C$(C)=A$(K) THEN LOCATE 22,33:PRINT" CORRECT ANSWER ":T2=T2+1 ELSE LOCATE 22,INT((80-LEN(A$(K))-38)/2):PRINT" INCORRECT ANSWER-CORRECT ANSWER IS: ";A$(K);" "
  109. 970 COLOR 7,0:P1=(T2/T1)*100
  110. 980 LOCATE 16,19:PRINT T1:LOCATE 16,40:PRINT T2:IF P1=100 THEN LOCATE 16,74:PRINT"100":GOTO 1000
  111. 990 LOCATE 16,74:PRINT USING U1$;P1;:PRINT "% "
  112. 1000 IF D=2 AND C$(C)<>A$(K) THEN Z1(X)=2
  113. 1010 IF D=2 AND C$(C)=A$(K) THEN Z1(X)=1
  114. 1020 IF D=1 AND C$(C)<>A$(K) THEN Z2(X)=2
  115. 1030 IF D=1 AND C$(C)=A$(K) THEN Z2(X)=1
  116. 1040 IF S=6 AND C$(C)<>A$(K) THEN E(Z1(M),X1)=E(Z1(M),X1)+1
  117. 1050 IF S<>7 AND D=2 THEN P9=P9-1 ELSE IF S<>7 THEN P8=P8-1
  118. 1060 GOSUB 3140
  119. 1070 IF S=6 THEN 1140 ELSE IF P8=0 AND P9=0 THEN 2750
  120. 1080 IF D=1 AND P8=0 THEN 1120
  121. 1090 IF D=2 AND P9=0 THEN 1100 ELSE 1140
  122. 1100 LOCATE 24,10:PRINT"You have been quizzed with all ";S2$;" selections.";:LOCATE 25,17:PRINT"Hit any key to select ";S1$;" option.";
  123. 1110 IF INKEY$="" THEN 1110 ELSE D=1:LOCATE 24,9:PRINT SPC(63);:LOCATE 25,17:PRINT SPC(48);:GOTO 1170
  124. 1120 LOCATE 24,10:PRINT"You have been quizzed with all ";S1$;" selections.";:LOCATE 25,17:PRINT"Hit any key to select ";S2$;" option.";
  125. 1130 IF INKEY$="" THEN 1130 ELSE D=2:LOCATE 24,9:PRINT SPC(63);:LOCATE 25,17:PRINT SPC(48);:GOTO 1170
  126. 1140 IF S=6 THEN Z1(M)=0:IF P8=0 THEN 2750
  127. 1150 LOCATE 25,20:PRINT"Hit any key for another selection (X=Escape)";:GOSUB 3110
  128. 1160 Z$=INKEY$:IF Z$="" THEN 1160 ELSE IF Z$="x" OR Z$="X" THEN 380
  129. 1170 LOCATE 18,64:PRINT SPC(16):LOCATE 19,1:PRINT SPC(79):LOCATE 22,1:PRINT SPC(79):LOCATE 25,20:PRINT SPC(45)
  130. 1180 IF S=6 THEN LOCATE 5,15:PRINT STRING$(20,178):LOCATE 5,40:PRINT STRING$(4,178):LOCATE 5,60:PRINT STRING$(11,178):IF S$="Y" THEN FOR II=1 TO 4:LOCATE 5+II*2,33:PRINT STRING$(20,178):NEXT
  131. 1190 IF S=5 OR (S=7 AND T9=1) THEN LOCATE 5,20:PRINT STRING$(35,178):IF S$="Y" THEN FOR II=1 TO 4:LOCATE 5+II*2,33:PRINT STRING$(35,178):NEXT
  132. 1200 IF S<5 OR S1<5 THEN LOCATE 5,20:PRINT STRING$(20,178):IF S$="Y" THEN FOR II=1 TO 4:LOCATE 5+II*2,33:PRINT STRING$(20,178):NEXT
  133. 1210 IF S=6 THEN 2600 ELSE 610
  134. 1220 N=INT(RND(1)*P)+1:IF D=2 THEN A$(I)=MID$(Z2$(N),2) ELSE A$(I)=Z1$(N)
  135. 1230 RETURN
  136. 1240 LOCATE 20,30:PRINT"Hit <P> to print selection,":PRINT TAB(34)"<N> for new selection, or":PRINT TAB(34)"<X> to exit.":GOSUB 3110
  137. 1250 ZZ$=INKEY$:IF ZZ$="" THEN 1250
  138. 1260 IF ZZ$="p" OR ZZ$="P" THEN GOSUB 1310:GOTO 1300
  139. 1270 IF ZZ$="n" OR ZZ$="N" THEN 1300
  140. 1280 IF ZZ$="x" OR ZZ$="X" THEN 380
  141. 1290 GOTO 1250
  142. 1300 LOCATE 20,30:PRINT SPC(27):LOCATE 21,34:PRINT SPC(25):LOCATE 22,34:PRINT SPC(12):GOTO 1170
  143. 1310 Y=Y+1:IF Y>1 THEN 1380
  144. 1320 IF S=1 THEN LPRINT STRING$(26,"*");" Noun Vocabulary Drill Test ";STRING$(26,"*")
  145. 1330 IF S=2 THEN LPRINT STRING$(26,"*");" Verb Vocabulary Drill Test ";STRING$(26,"*")
  146. 1340 IF S=3 THEN LPRINT STRING$(19,"*");" Miscellaneous Word Vocabulary Drill Test ";STRING$(19,"*")
  147. 1350 IF S=4 THEN LPRINT STRING$(17,"*");" Random Selection Word Vocabulary Drill Test ";STRING$(18,"*")
  148. 1360 IF S=5 THEN LPRINT STRING$(25,"*");" Phrase Translation Drill Test ";STRING$(24,"*")
  149. 1370 IF S=6 THEN LPRINT STRING$(26,"*");" Verb Conjugation Drill Test ";STRING$(25,"*")
  150. 1380 LPRINT:IF S=5 THEN 1430 ELSE IF S=6 THEN 1450
  151. 1390 LPRINT STR$(Y);". ";:IF D=2 THEN ZZ$=Z1$(X):GOTO 1410
  152. 1400 IF LEFT$(Z2$(X),5)="-las " OR LEFT$(Z2$(X),5)="-les " THEN ZZ$=MID$(Z2$(X),6):GOTO 1410
  153. 1405 IF LEFT$(Z2$(X),4)="-la " OR LEFT$(Z2$(X),4)="-le " THEN ZZ$=MID$(Z2$(X),5):GOTO 1410
  154. 1407 IF LEFT$(Z2$(X),3)="-l'" THEN ZZ$=MID$(Z2$(X),4) ELSE ZZ$=MID$(Z2$(X),2)
  155. 1410 GOSUB 2920:LPRINT ZZ$:LPRINT TAB(4);:FOR B=1 TO 4:IF LEFT$(A$(B),4)="las " OR LEFT$(A$(B),4)="les " THEN ZZ$=MID$(A$(B),5):GOTO 1420
  156. 1414 IF LEFT$(A$(B),3)="la " OR LEFT$(A$(B),3)="le " THEN ZZ$=MID$(A$(B),4):GOTO 1420
  157. 1416 IF LEFT$(A$(B),2)="l'" THEN ZZ$=MID$(A$(B),3) ELSE ZZ$=A$(B)
  158. 1420 GOSUB 2920:LPRINT "  ";CHR$(96+B);". ";ZZ$;:NEXT:LPRINT:LPRINT:RETURN
  159. 1430 LPRINT STR$(Y);". ";:IF D=2 THEN ZZ$=Z1$(X) ELSE ZZ$=MID$(Z2$(X),2)
  160. 1440 GOSUB 2920:LPRINT ZZ$:FOR B=1 TO 4:LPRINT TAB(10) CHR$(96+B);". ";:ZZ$=A$(B):GOSUB 2920:LPRINT ZZ$:NEXT:LPRINT:RETURN
  161. 1450 LPRINT STR$(Y);". ";Z1$(P);TAB(25)BR$;TAB(40)X$:LPRINT TAB(4);:FOR B=1 TO 4:LPRINT "  ";CHR$(96+B);". ";A$(B);:NEXT:LPRINT:LPRINT:RETURN
  162. 1460 LOCATE 5,70:COLOR 0,7:IF LEFT$(Z2$(X),1)="-" THEN PRINT" NOUN " ELSE IF LEFT$(Z2$(X),1)="*" THEN PRINT" VERB " ELSE PRINT" MISC "
  163. 1470 COLOR 7,0:RETURN
  164. 1480 IF D=2 AND S<>5 AND S<>7 THEN LOCATE 5,20:PRINT USING U2$;Z1$(X)
  165. 1490 IF D=1 AND S<>5 AND S<>7 AND (MID$(Z2$(X),2,4)="las " OR MID$(Z2$(X),2,4)="les ") THEN LOCATE 5,20:PRINT USING U2$;MID$(Z2$(X),6):GOTO 1510
  166. 1494 IF D=1 AND S<>5 AND S<>7 AND (MID$(Z2$(X),2,3)="la " OR MID$(Z2$(X),2,3)="le ") THEN LOCATE 5,20:PRINT USING U2$;MID$(Z2$(X),5):GOTO 1510
  167. 1496 IF D=1 AND S<>5 AND S<>7 AND MID$(Z2$(X),2,2)="l'" THEN LOCATE 5,20:PRINT USING U2$;MID$(Z2$(X),4):GOTO 1510
  168. 1500 IF D=1 AND S<>5 AND S<>7 THEN LOCATE 5,20:PRINT USING U2$;MID$(Z2$(X),2)
  169. 1510 IF D=1 AND T9<>1 AND S=7 AND (MID$(R4$(X1),2,4)="las " OR MID$(R4$(X1),2,4)="les ") THEN LOCATE 5,20:PRINT USING U2$;MID$(R4$(X1),6):GOTO 1530
  170. 1514 IF D=1 AND T9<>1 AND S=7 AND (MID$(R4$(X1),2,3)="la " OR MID$(R4$(X1),2,3)="le ") THEN LOCATE 5,20:PRINT USING U2$;MID$(R4$(X1),5):GOTO 1530
  171. 1516 IF D=1 AND T9<>1 AND S=7 AND MID$(R4$(X1),2,2)="l'" THEN LOCATE 5,20:PRINT USING U2$;MID$(R4$(X1),4):GOTO 1530
  172. 1520 IF D=1 AND T9<>1 AND S=7 THEN LOCATE 5,20:PRINT USING U2$;MID$(R4$(X1),2)
  173. 1530 IF D=2 AND T9<>1 AND S=7 THEN LOCATE 5,20:PRINT USING U2$;R1$(X1)
  174. 1540 RETURN
  175. 1550 LOCATE 23,34:PRINT SPC(14):P3=0:P4=0:P5=0:P6=0
  176. 1560 FOR N=1 TO P
  177. 1570 IF Z1(N)=2 THEN P5=P5+1:R2$(P5)=Z2$(N):R1$(P5)=Z1$(N)
  178. 1580 IF Z2(N)=2 THEN P6=P6+1:R3$(P6)=Z1$(N):R4$(P6)=Z2$(N)
  179. 1590 NEXT:P3=P5:P4=P6:RETURN
  180. 1600 LOCATE 23,21:PRINT"There is no record of any wrong answers.":FOR N=1 TO 5999:NEXT:GOTO 130
  181. 1610 COLOR 0,7:LOCATE 12,33:PRINT" Inputting data ":COLOR 7,0:RETURN
  182. 1620 FOR I=1 TO 2:A(I)=INT(RND(1)*18)+1:NEXT:IF A(1)=A(2) THEN 1620 ELSE GOSUB 1610
  183. 1630 FOR I=1 TO 2:OPEN "I",1,"VOCAB"+MID$(STR$(A(I)),2)+".DAT"
  184. 1640 P=P+1:INPUT #1,Z1$(P),Z2$(P):GOSUB 2890
  185. 1650 IF EOF(1) THEN CLOSE:NEXT:RETURN ELSE LOCATE 14,39:PRINT P:GOTO 1640
  186. 1660 FOR I=1 TO 2:A(I)=INT(RND(1)*18)+1:NEXT:IF A(1)=A(2) THEN 1660 ELSE GOSUB 1610
  187. 1670 FOR I=1 TO 2:OPEN "I",1,"VOCAB"+MID$(STR$(A(I)),2)+".DAT"
  188. 1680 INPUT #1,X1$,X2$:LOCATE 14,39:PRINT P
  189. 1690 GOSUB 2890:IF LEFT$(X2$,1)="-" THEN P=P+1:Z1$(P)=X1$:Z2$(P)=X2$
  190. 1700 IF EOF(1) THEN CLOSE:NEXT:RETURN ELSE GOTO 1680
  191. 1710 FOR I=1 TO 6:A(I)=INT(RND(1)*18)+1:NEXT:GOSUB 2280:IF P=1 THEN 1710 ELSE GOSUB 1610
  192. 1720 FOR I=1 TO 6:OPEN "I",1,"VOCAB"+MID$(STR$(A(I)),2)+".DAT"
  193. 1730 INPUT #1,X1$,X2$:LOCATE 14,39:PRINT P
  194. 1740 GOSUB 2890:IF LEFT$(X2$,1)=X$ THEN P=P+1:Z1$(P)=X1$:Z2$(P)=X2$
  195. 1750 IF EOF(1) THEN CLOSE:NEXT:RETURN ELSE GOTO 1730
  196. 1760 FOR I=1 TO 2:A(I)=INT(RND(1)*10)+1:NEXT:IF A(1)=A(2) THEN 1760 ELSE GOSUB 1610
  197. 1770 FOR N=1 TO 2:OPEN "I",1,"PHRASE"+MID$(STR$(A(N)),2)+".DAT"
  198. 1780 P=P+1:INPUT #1,Z1$(P),Z2$(P):GOSUB 2890
  199. 1790 IF EOF(1) THEN CLOSE:NEXT:RETURN ELSE LOCATE 14,39:PRINT P:GOTO 1780
  200. 1800 IF (D=2 AND R1$(X1)="") OR (D=1 AND R4$(X1)="") THEN 620
  201. 1810 IF D=1 THEN A$(K)=R3$(X1) ELSE A$(K)=MID$(R2$(X1),2)
  202. 1820 GOTO 680
  203. 1830 LOCATE 5,70:COLOR 0,7:IF LEFT$(R2$(X1),1)="-" THEN PRINT" NOUN " ELSE IF LEFT$(R2$(X1),1)="*" THEN PRINT" VERB " ELSE PRINT" MISC "
  204. 1840 COLOR 7,0:RETURN
  205. 1850 COLOR 0,7:IF C$(C)=A$(K) THEN LOCATE 22,33:PRINT" CORRECT ANSWER " ELSE LOCATE 22,INT((48-LEN(A$(K)))/2):PRINT" INCORRECT ANSWER-CORRECT ANSWER IS: ";A$(K);" "
  206. 1860 COLOR 7,0:IF D=1 THEN GOSUB 1930 ELSE GOSUB 1950
  207. 1870 IF D=1 THEN R4$(X1)="":P4=P4-1 ELSE R1$(X1)="":P3=P3-1
  208. 1880 GOSUB 3140:IF P3>0 OR P4>0 THEN 1900
  209. 1890 IF P3=0 AND P4=0 THEN 2760
  210. 1900 IF D=2 AND P3=0 THEN 1100
  211. 1910 IF D=1 AND P4=0 THEN 1120
  212. 1920 GOTO 1140
  213. 1930 FOR B=1 TO P:IF Z2$(B)=R4$(X1) AND C$(C)=A$(K) THEN Z2(B)=4 ELSE IF Z2$(B)=R4$(X1) AND C$(C)<>A$(K) THEN Z2(B)=3:RETURN
  214. 1940 NEXT
  215. 1950 FOR B=1 TO P:IF Z1$(B)=R1$(X1) AND C$(C)=A$(K) THEN Z1(B)=4 ELSE IF Z1$(B)=R1$(X1) AND C$(C)<>A$(K) THEN Z1(B)=3:RETURN
  216. 1960 NEXT
  217. 1970 RETURN
  218. 1980 CLS:PR$="":IF S1=1 THEN PRINT STRING$(24,175);" ";:COLOR 0,7:PRINT" NOUN VOCABULARY DRILL RESULTS ";:COLOR 7,0:PRINT" ";STRING$(23,174)
  219. 1990 IF S1=2 THEN PRINT STRING$(24,175);" ";:COLOR 0,7:PRINT" VERB VOCABULARY DRILL RESULTS ";:COLOR 7,0:PRINT" ";STRING$(23,174)
  220. 2000 IF S1=3 THEN PRINT STRING$(17,175);" ";:COLOR 0,7:PRINT" MISCELLANEOUS WORD VOCABULARY DRILL RESULTS ";:COLOR 7,0:PRINT" ";STRING$(16,174)
  221. 2010 IF S1=4 THEN PRINT STRING$(15,175);" ";:COLOR 0,7:PRINT" RANDOM SELECTION WORD VOCABULARY DRILL RESULTS ";:COLOR 7,0:PRINT" ";STRING$(15,174)
  222. 2020 IF S1=5 THEN PRINT STRING$(22,175);" ";:COLOR 0,7:PRINT" PHRASE TRANSLATION DRILL RESULTS ";:COLOR 7,0:PRINT" ";STRING$(22,174)
  223. 2030 IF S1=6 THEN 2790
  224. 2040 PRINT STRING$(80,"-"):PRINT
  225. 2050 IF P8<>0 OR P9<>0 THEN GOSUB 2200
  226. 2060 IF P3<>0 OR P4<>0 THEN GOSUB 2240
  227. 2070 PRINT"Press one of the following keys:":PRINT
  228. 2080 IF P3>0 OR P4>0 THEN PRINT TAB(20)"<R>esume Retesting"
  229. 2090 IF P8>0 OR P9>0 THEN PRINT TAB(20)"<G>o Back To Original Option"
  230. 2100 PRINT TAB(20)"<D>isplay Test Results"
  231. 2110 PRINT TAB(20)"<P>rint Test Results"
  232. 2120 PRINT TAB(20)"<C>hoose New Option":GOSUB 3110
  233. 2130 X$=INKEY$:IF X$="" THEN 2130 ELSE IF ASC(X$)>90 THEN X$=CHR$(ASC(X$)-32)
  234. 2140 IF X$="D" THEN GOSUB 2300:GOTO 1980
  235. 2150 IF X$="P" THEN PR$="Y":ON ERROR GOTO 3170:LPRINT:ON ERROR GOTO 0:GOSUB 2300:GOTO 1980
  236. 2160 IF X$="R" AND (P3>0 OR P4>0) THEN S=7:CLS:GOTO 190
  237. 2170 IF X$="G" AND (P8>0 OR P9>0) THEN S=S1:GOTO 380
  238. 2180 IF X$="C" THEN 90
  239. 2190 GOTO 2130
  240. 2200 PRINT"The following are still left in your original option selection:"
  241. 2210 IF P9>0 THEN PRINT TAB(20)P9;S2$" selections
  242. 2220 IF P8>0 THEN PRINT TAB(20)P8;S1$" selections
  243. 2230 PRINT STRING$(80,"-"):RETURN
  244. 2240 PRINT"You still have the following remaining for retesting:
  245. 2250 IF P3>0 THEN PRINT TAB(20)P3;S2$" selections
  246. 2260 IF P4>0 THEN PRINT TAB(20)P4;S1$" selections
  247. 2270 PRINT STRING$(80,"-"):RETURN
  248. 2280 P=0:IF A(1)=A(2) OR A(1)=A(3) OR A(1)=A(4) OR A(1)=A(5) OR A(1)=A(6) OR A(2)=A(3) OR A(2)=A(4) OR A(2)=A(5) THEN P=1
  249. 2281 IF A(2)=A(6) OR A(3)=A(4) OR A(3)=A(5) OR A(3)=A(6) OR A(4)=A(5) OR A(4)=A(6) OR A(5)=A(6) THEN P=1
  250. 2290 RETURN
  251. 2300 IF P=0 THEN RETURN ELSE CLS:LOCATE 1,13:COLOR 0,7:PRINT" THE FOLLOWING WERE MISSED DURING REGULAR OPTION TESTING ":COLOR 7,0
  252. 2310 IF P1<>100 THEN 2320 ELSE LOCATE 15,16:COLOR 0,7:PRINT" Congratulations!! You received a perfect score. ";:GOSUB 2850:RETURN
  253. 2320 Q=0:Q9$=U2$:IF S1=5 THEN Q9$=U7$
  254. 2330 IF PR$<>"Y" THEN 2360 ELSE IF S1<5 THEN LPRINT TAB(28)"VOCABULARY DRILL RESULTS":LPRINT
  255. 2340 IF S1=5 THEN LPRINT TAB(24)"PHRASE TRANSLATION DRILL RESULTS":LPRINT
  256. 2350 LPRINT"The following were missed during regular option testing:":LPRINT
  257. 2360 FOR I=1 TO P:IF Z1(I)>1 THEN PRINT USING Q9$;Z1$(I);MID$(Z2$(I),2);:Q=Q+1:IF S1=5 THEN Q=Q+1
  258. 2370 IF PR$="Y" AND Z1(I)>1 THEN ZZ$=Z1$(I):GOSUB 2920:LPRINT USING Q9$;ZZ$;:ZZ$=MID$(Z2$(I),2):GOSUB 2920:LPRINT USING Q9$;ZZ$;
  259. 2380 IF Z2(I)>1 THEN PRINT USING Q9$;MID$(Z2$(I),2);Z1$(I);:Q=Q+1:IF S1=5 THEN Q=Q+1
  260. 2390 IF PR$="Y" AND Z2(I)>1 THEN ZZ$=MID$(Z2$(I),2):GOSUB 2920:LPRINT USING Q9$;ZZ$;:ZZ$=Z1$(I):LPRINT USING Q9$;ZZ$;
  261. 2400 IF Q=44 THEN GOSUB 2850:CLS:Q=0:LOCATE 1,13:COLOR 0,7:PRINT" THE FOLLOWING WERE MISSED DURING REGULAR OPTION TESTING ":COLOR 7,0
  262. 2402 IF Q=44 THEN STOP
  263. 2410 NEXT:LOCATE 24,1:PRINT"Amount quizzed ="T1"  Amount correct ="T2"  Final percentage correct ="STR$(P1)"%";:IF INT(Q/2)<>Q/2 AND PR$="Y" THEN LPRINT
  264. 2420 IF PR$="Y" THEN LPRINT:LPRINT"Amount quizzed ="T1"  Amount correct ="T2"  Final percentage correct ="STR$(P1)"%"
  265. 2430 GOSUB 2850:CLS:IF (P5=0 AND P6=0) OR (P3=P5 AND P4=P6) THEN RETURN
  266. 2440 LOCATE 1,19:COLOR 0,7:PRINT" THE FOLLOWING WERE MISSED DURING RETESTING ":COLOR 7,0:Q=0
  267. 2450 IF PR$="Y" THEN LPRINT:LPRINT:LPRINT"The following were missed during restesting:":LPRINT
  268. 2460 FOR I=1 TO P:IF Z1(I)=3 THEN PRINT USING Q9$;Z1$(I);MID$(Z2$(I),2);:Q=Q+1:IF S1=5 THEN Q=Q+1
  269. 2470 IF PR$="Y" AND Z1(I)=3 THEN ZZ$=Z1$(I):GOSUB 2920:LPRINT USING Q9$;ZZ$;:ZZ$=MID$(Z2$(I),2):GOSUB 2920:LPRINT USING Q9$;ZZ$;
  270. 2480 IF Z2(I)=3 THEN PRINT USING Q9$;MID$(Z2$(I),2);Z1$(I);:Q=Q+1:IF S1=5 THEN Q=Q+1
  271. 2490 IF PR$="Y" AND Z2(I)=3 THEN ZZ$=MID$(Z2$(I),2):GOSUB 2920:LPRINT USING Q9$;ZZ$;:ZZ$=Z1$(I):GOSUB 2920:LPRINT USING Q9$;ZZ$;
  272. 2500 IF Q=44 THEN GOSUB 2850:CLS:Q=0:LOCATE 1,19:COLOR 0,7:PRINT" THE FOLLOWING WERE MISSED DURING RETESTING ":COLOR 7,0
  273. 2510 NEXT:IF PR$="Y" THEN LPRINT
  274. 2520 IF Q=0 THEN LOCATE 15,2:COLOR 0,7:PRINT" Congratulations!! You correctly answered all selections when being retested. ":COLOR 7,0
  275. 2530 GOSUB 2850:RETURN
  276. 2540 FOR I=1 TO 6:A(I)=INT(RND(1)*16)+1:NEXT:GOSUB 2280:IF P=1 THEN 2540 ELSE GOSUB 1610
  277. 2550 FOR I=1 TO 5:OPEN "I",1,"VERB"+MID$(STR$(A(I)),2)+".DAT"
  278. 2560 FOR K=1 TO 4:INPUT #1,X$:P=P+1:Z1$(P)=X$:X=INT(RND(1)*6)+1:Z1(INT(P/5)+1)=X
  279. 2570 FOR B=1 TO 4:FOR Z=1 TO 6:INPUT #1,X$:GOSUB 2890
  280. 2580 IF Z=X THEN P=P+1:Z1$(P)=X$:LOCATE 14,39:PRINT P
  281. 2590 NEXT Z:NEXT B:NEXT K:CLOSE:NEXT I:RETURN
  282. 2600 M=INT(RND(1)*P9)+1:IF Z1(M)=0 THEN 2600 ELSE P=((M-1)*5)+1:X=INT(RND(1)*4)+1:X1=X:X=P+X
  283. 2610 LOCATE 2,3:PRINT"*":FOR DE=1 TO 150:NEXT:LOCATE 2,3:PRINT" "
  284. 2620 BR$=INKEY$:IF BR$="" THEN 2630 ELSE IF BR$="x" OR BR$="X" THEN 90
  285. 2630 FOR N=1 TO 4:Z=INT(RND(1)*4)+1:A$(N)=Z1$(P+Z):NEXT
  286. 2640 IF A$(1)=A$(2) OR A$(1)=A$(3) OR A$(1)=A$(4) OR A$(2)=A$(3) OR A$(2)=A$(4) OR A$(3)=A$(4) THEN 2600
  287. 2650 FLAG=0:FOR K=1 TO 4
  288. 2660 IF Z1$(X)=A$(K) THEN FLAG=1:KK=K:K=4
  289. 2670 NEXT:IF FLAG=0 THEN 2610
  290. 2680 K=KK:LOCATE 5,15:PRINT USING U2$;Z1$(P)
  291. 2690 RESTORE 2900:FOR N=1 TO 6:READ Z$
  292. 2700 IF N=Z1(M) THEN LOCATE 5,40:PRINT USING U2$;Z$:BR$=Z$
  293. 2710 NEXT
  294. 2720 FOR N=1 TO 4:READ Z$
  295. 2730 IF N=X1 THEN LOCATE 5,60:PRINT USING U2$;Z$:X$=Z$
  296. 2740 NEXT:GOTO 780
  297. 2750 IF S=6 THEN LOCATE 24,9:PRINT"You have been quizzed on all available verb conjugation forms.";:LOCATE 25,8:PRINT"Press 'M' to load more selections or any other key for the menu.";
  298. 2760 IF S<>6 THEN LOCATE 24,3:PRINT"You have been quizzed with all available combinations. Hit any key for menu.";
  299. 2770 Z$=INKEY$:IF Z$="" THEN 2770
  300. 2780 IF S=6 AND (Z$="m" OR Z$="M") THEN CLS:P=0:GOTO 230 ELSE 90
  301. 2790 PRINT STRING$(23,175);" ";:COLOR 0,7:PRINT" VERB CONJUGATION DRILL RESULTS ";:COLOR 7,0:PRINT" ";STRING$(23,174):LOCATE 4,18:PRINT"The following conjugation forms were missed:"
  302. 2800 RESTORE 2910:FOR I=1 TO 6:READ Z$:NEXT:FOR I=0 TO 3:READ Z$:LOCATE 7,17*I+9:COLOR 0,7:PRINT " ";Z$;" ":COLOR 7,0:NEXT
  303. 2810 FOR K=0 TO 3:RESTORE 2910:FOR I=1 TO 6:READ Z$:LOCATE 8+I,17*K+10:PRINT Z$:LOCATE 8+I,17*K+15:PRINT E(I,K+1);:IF E(I,K+1)>3 THEN COLOR 23,0:PRINT"*":COLOR 7,0
  304. 2820 NEXT I,K:LOCATE 20,1:PRINT"Total quizzed =";T1;"   Total correct =";T2;"   Correct answer percentage =";STR$(P1);"%"
  305. 2830 LOCATE 25,23:COLOR 0,7:PRINT" Hit any key to return to the menu ";:COLOR 7,0:GOSUB 3110
  306. 2840 IF INKEY$="" THEN 2840 ELSE 90
  307. 2850 LOCATE 25,28:COLOR 0,7:PRINT" Hit any key to continue ";:COLOR 7,0:GOSUB 3110
  308. 2860 IF INKEY$="" THEN 2860 ELSE RETURN
  309. 2870 COLOR 0,7:LOCATE 24,23:PRINT" Hit any key to return to the menu ";:COLOR 7,0:GOSUB 3110
  310. 2880 IF INKEY$="" THEN 2880 ELSE 90
  311. 2890 BR$=INKEY$:IF BR$="" THEN RETURN ELSE IF BR$="x" OR BR$="X" THEN CLOSE:GOTO 90 ELSE RETURN
  312. 2900 DATA JE,TU,IL,NOUS,VOUS,ILS,PRESENT,IMPERFECT,FUTURE,CONDITIONAL
  313. 2910 DATA Je,Tu,Il,Nous,Vous,Ils,Present,Imperfect,Future,Conditional
  314. 2920 FOR II=1 TO LEN(ZZ$):IF MID$(ZZ$,II,1)=CHR$(133) OR MID$(ZZ$,II,1)=CHR$(131) OR MID$(ZZ$,II,1)=CHR$(160) THEN MID$(ZZ$,II,1)="a"
  315. 2930 IF MID$(ZZ$,II,1)=CHR$(138) OR MID$(ZZ$,II,1)=CHR$(136) OR MID$(ZZ$,II,1)=CHR$(130) THEN MID$(ZZ$,II,1)="e"
  316. 2940 IF MID$(ZZ$,II,1)=CHR$(150) OR MID$(ZZ$,II,1)=CHR$(151) THEN MID$(ZZ$,II,1)="u"
  317. 2942 IF MID$(ZZ$,II,1)=CHR$(139) OR MID$(ZZ$,II,1)=CHR$(140) THEN MID$(ZZ$,II,1)="i"
  318. 2948 IF MID$(ZZ$,II,1)=CHR$(135) THEN MID$(ZZ$,II,1)="c"
  319. 2950 IF MID$(ZZ$,II,1)=CHR$(147) THEN MID$(ZZ$,II,1)="o"
  320. 2970 NEXT:RETURN
  321. 2980 IF D=1 THEN 3000 ELSE FOR XX=1 TO 14:KEY(XX) ON:NEXT
  322. 2990 ON KEY(1) GOSUB 3060:ON KEY(2) GOSUB 3070:ON KEY(3) GOSUB 3080:ON KEY(4) GOSUB 3090:ON KEY(5) GOSUB 3092:ON KEY(11) GOSUB 3098:ON KEY(14) GOSUB 3099
  323. 2992 ON KEY(6) GOSUB 3093:ON KEY(7) GOSUB 3094:ON KEY(8) GOSUB 3095:ON KEY(9) GOSUB 3096:ON KEY(10) GOSUB 3097:ON KEY(12) GOSUB 3100:ON KEY(13) GOSUB 3100
  324. 3000 LOCATE 19,10:YY=19:XX=40:PRINT"Enter your answer (X=Escape): _":ANSWER$=""
  325. 3010 A$=INKEY$:IF A$="" THEN 3010
  326. 3020 IF ASC(A$)=13 THEN FOR II=1 TO 14:ON KEY(II) GOSUB 3100:KEY(II) OFF:NEXT:KEY 1,"":RETURN
  327. 3030 IF ASC(A$)=8 THEN IF LEN(ANSWER$)=0 THEN 3010 ELSE LOCATE YY,XX:PRINT" ":XX=XX-1:LOCATE YY,XX:PRINT"_":ANSWER$=LEFT$(ANSWER$,LEN(ANSWER$)-1):GOTO 3010
  328. 3040 LOCATE YY,XX:PRINT A$;:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+A$
  329. 3050 GOTO 3010
  330. 3060 LOCATE YY,XX:PRINT CHR$(133);:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+CHR$(133):RETURN
  331. 3070 LOCATE YY,XX:PRINT CHR$(131);:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+CHR$(131):RETURN
  332. 3080 LOCATE YY,XX:PRINT CHR$(160);:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+CHR$(160):RETURN
  333. 3090 LOCATE YY,XX:PRINT CHR$(138);:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+CHR$(138):RETURN
  334. 3092 LOCATE YY,XX:PRINT CHR$(136);:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+CHR$(136):RETURN
  335. 3093 LOCATE YY,XX:PRINT CHR$(130);:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+CHR$(130):RETURN
  336. 3094 LOCATE YY,XX:PRINT CHR$(140);:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+CHR$(140):RETURN
  337. 3095 LOCATE YY,XX:PRINT CHR$(147);:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+CHR$(147):RETURN
  338. 3096 LOCATE YY,XX:PRINT CHR$(151);:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+CHR$(151):RETURN
  339. 3097 LOCATE YY,XX:PRINT CHR$(150);:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+CHR$(150):RETURN
  340. 3098 LOCATE YY,XX:PRINT CHR$(139);:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+CHR$(139):RETURN
  341. 3099 LOCATE YY,XX:PRINT CHR$(135);:YY=CSRLIN:XX=POS(0):PRINT"_";:ANSWER$=ANSWER$+CHR$(135):RETURN
  342. 3100 LOCATE YY,XX:PRINT"";:YY=CSRLIN:XX=POS(0):PRINT"_";:RETURN
  343. 3110 XXX$=INKEY$:IF XXX$<>"" THEN 3110 ELSE RETURN
  344. 3120 RESUME 3130
  345. 3130 LOCATE 23,26:COLOR 23:PRINT L$:COLOR 7:FOR DE=1 TO 5999:NEXT:ON ERROR GOTO 0:GOTO 130
  346. 3140 LOCATE 18,1:IF (S<>6 AND D=1 AND S<>7) OR S=6 THEN XX=P8 ELSE IF S<>6 AND D=2 AND S<>7 THEN XX=P9 ELSE IF S=7 AND D=1 THEN XX=P4 ELSE IF S=7 AND D=2 THEN XX=P3
  347. 3150 IF XX=1 THEN PRINT" 1 selection remains" ELSE PRINT XX"selections remain "
  348. 3160 RETURN
  349. 3170 RESUME 3180
  350. 3180 LOCATE 25,26:COLOR 23:PRINT L$;:COLOR 7:FOR DE=1 TO 5999:NEXT:LOCATE 25,26:PRINT SPC(50);:ON ERROR GOTO 0:PR$="":GOTO 2130
  351.